草庐IT

php 查找实例化类的位置

全部标签

ruby-on-rails - 在 Rails 4.1 中,如何通过枚举符号查找记录?

假设我有这个模型:classConversation如何在不使用枚举的数值或不必遍历每个对话的情况下找到所有事件对话?我尝试执行Conversation.where(status::active),但没有产生任何结果。想到的唯一解决方案是遍历所有对话并选择事件对话,但这看起来不是一个好的解决方案。Conversation.all.select{|conversation|conversation.active?}我能做些什么吗? 最佳答案 ActiveRecord::Enum提供基于其值的范围。试试看:Conversation.ac

ruby-on-rails - ActiveRecord 查找以

非常简单的问题-我如何进行搜索以查找名称以ActiveRecord中的特定字符串开头的所有记录。我在互联网上看到过各种使用逐字LIKESQL子句的位-但据我所知,这不是“正确”的做法。是否有“合适的”Rails方法? 最佳答案 如果您希望在数据库中进行搜索,那么您将需要使用SQL。当然,您需要在数据库中进行搜索,否则您需要将所有对象加载到Ruby中(这不是一件好事)。所以,你需要类似的东西MyModel.find(:all,:conditions=>["fieldLIKE?","#{prefix}%"])其中prefix是一个包含您

ruby-on-rails - 在 Rails 应用程序中放置不适合任何地方的类的指南

我想知道是否有关于在Rails应用程序中放置非标准Ruby文件的最佳实践,那些不适合任何默认目录的文件(controllers/型号等)。我说的是Controller/模型等使用的类,但不是任何Rails基类的子类。包含从模型中提取的功能的类,以减少它们的体积。其中一些看起来像模型但不是AR模型,一些看起来更像“服务”,一些介于两者之间或其他。一些随机的例子:通过facebook等使用密码处理身份验证的“策略”类。封装参数的“XParams”对象或处理参数处理的“XCreator”对象,以执行一些复杂的操作,最终创建一些AR模型向外部API发出请求或封装这些请求和响应的类可以替代真实A

ruby - 查找两个数组之间的共同值

如果我想比较两个数组并创建一个内插输出字符串,如果数组y中的数组变量存在于x中,我如何获得每个匹配元素的输出?这就是我正在尝试但未完全得到结果的方法。x=[1,2,4]y=[5,2,4]x.eachdo|num|puts"Thenumber#{num}isinthearray"ifx.include?(y.each)end#=>[1,2,4] 最佳答案 可以使用设置交集的方法&为此:x=[1,2,4]y=[5,2,4]x&y#=>[2,4] 关于ruby-查找两个数组之间的共同值,我们在

ruby-on-rails - 在 Ruby on Rails 应用程序中定义常量的最佳位置在哪里?

在RubyonRails应用程序中,哪里是定义常量的最佳位置?我有一组常量数据,我需要在我的应用程序中的所有Controller中使用这些数据。 最佳答案 Rails>=3,应用程序本身就是一个模块(位于config/application.rb中)。您可以将它们存储在应用程序模块中moduleMyApplicationSUPER_SECRET_TOKEN="123456"end然后使用MyApplication::SUPER_SECRET_TOKEN来引用常量。Rails>=2.1&&在/config/initializers中,

ruby - 在 Ruby 中,如何获取从位置 N 到最后一个字符的子字符串?

我想从字符串中获取从位置N到字符串末尾的子字符串。在Ruby中有什么方法可以做到这一点? 最佳答案 只需像这样对字符串进行切片:string[N..-1] 关于ruby-在Ruby中,如何获取从位置N到最后一个字符的子字符串?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5944804/

ruby - 获取类中声明的所有实例变量

请帮助我获取类中声明的所有实例变量,方法与instance_methods显示类中所有可用方法的方式相同。classAattr_accessor:ab,:acendputsA.instance_methods#givesabandacputsA.something#givesme@ab@ac... 最佳答案 您可以使用instance_variables:A.instance_variables但这可能不是您想要的,因为它获取了类A中的实例变量,而不是该类的实例。所以你可能想要:a=A.newa.instance_variables

ruby - 如何设置方法测试中使用的私有(private)实例变量?

给定一个包含几个实例变量和一些方法的类。一些实例变量设置为可通过attr_reader和attr_accessor访问。因此其他的都是私有(private)的。一些私有(private)实例变量在一个实例方法中设置,并在另一个方法中读取/使用。我使用RSpec进行测试。由于我对Ruby还是个新手,并且希望把所有事情都做好,所以我将我的测试定义为相当细粒度的。因此,我为每个实例方法获得了一个describeblock,它们本身被划分为context和it的子集。一般环境先决条件用before定义。但是,当测试其中一种使用但未设置私有(private)变量的方法时,我需要调用另一种方法,即

ruby-on-rails - Rails 5 API Controller 中未定义的实例方法 "respond_to"

在用--api创建的rails5中我有一个错误NoMethodError(undefinedmethod`respond_to'for#Didyoumean?respond_to?):然而,在rails4.2的文档中它说http://edgeguides.rubyonrails.org/4_2_release_notes.htmlrespond_withandthecorrespondingclass-levelrespond_tohavebeenmovedtotherespondersgem.Addgem'responders','~>2.0'toyourGemfiletouseit

ruby - 有没有办法从该实例内部为 Ruby 类的实例创建方法?

让classExample定义为:classExampledefinitialize(test='hey')self.class.send(:define_method,:say_hello,lambda{test})endend调用Example.new;Example.new我收到一个警告:方法已重新定义;丢弃旧的say_hello。我得出结论,这一定是因为它在实际类中定义了一个方法(从语法上看是有道理的)。当然,如果Example的多个实例在其方法中具有不同的值,那将是灾难性的。有没有办法从实例内部为类的实例创建方法? 最佳答案